\chapter{Fazit}


\section{Zielsetzung}
Drei Ziele wurden im Kapitel "`Einführung'' definiert:

\begin{itemize}
	\item Primärziel: Recherche
	\item Sekundärziel: Prototyp Entwicklung
	\item Fakultativ: Analyse
\end{itemize}

\textbf{Primär- und Sekundärziel wurden erreicht}. Das Ziel "`Analyse'' wurde nur teilweise erreicht. Die verschiedenen Prototypen konnten anhand der durchgeführten Zeitmessungen direkt miteinander verglichen werden. Ein Vergleich mit der aktuellen Version des NetGame konnte jedoch aus zeitlichen Gründen nicht realisiert werden. Der in Projektphase 4 provisorisch geplante Änderungsvorschlag für das NetGame, konnte aus dem selben Grund ebenfalls nicht umgesetzt werden.

\section{Recherche}
Im Verlaufe der Recherche stellte sich heraus, dass das Thema "`Push-Technologien'' enorm aktuell ist. Auf der sozialen Bookmark-Plattform "`Delicious'' (\url{http://www.delicious.com/ifu/push}) wurden 65 verschiedene Links zum Thema "`Push-Technologien'' zusammengetragen. Es entstehen ständig neue Frameworks, welche die Entwicklung von Push-Technologien ermöglichen. Während der Recherche wurde jedoch klar, dass auch viele Frameworks entweder veraltet, oder einen zu unkonventionellen Ansatz verfolgen, um in Zukunft existieren zu können.

Bei dieser gesamten Informationsmenge war es nicht einfach, eine Entscheidung zu treffen welches oder welche Frameworks nun zur Prototypentwicklung hinzugezogen werden sollten. Das Framework "`JBOSS Errai'', welches die Entwicklung von GWT-Applikationen ermöglicht, wurde bei der Auswahl ausgeschlossen. Der Grund dazu war eine zu komplexe Einschätzung des Frameworks, um es in diesem Projekt zu verwenden. Es wäre jedoch durchaus interessant gewesen zu wissen, welches Potential dieses Framework besitzt.

\section{Prototyp-Realisierung}
Interessant an der Prototyp-Realisierung war festzustellen, dass die unterschiedlichen Ansätze der Frameworks stark variieren können. Beispiel dafür sind Streamhub und APE. Die Implementierung der beiden Push-Technologien basiert, wie im Kapitel "`Prototyp Implementierung'' beschrieben, auf zwei völlig differenzierten Ansätzen.

Die Diversität der einzelnen Endlösungen erlaubt dem Programmierer eine nahezu freie Auswahl an Programmiersprachen und Server-Client-Konstellationen, mit welchen er seine Projekte umsetzen kann.

\section{Push vs. Pull}
Dieses Projekt veranschaulicht deutlich die Komplexität von Push-Technologien. Pull Technologien sind viel weniger komplex und sind daher weniger zeitaufwändig zu implementieren. Bei der Planung eines Projektes sollte daher gut abgewogen werden, ob sich die Nutzung von Push-Technologien auch wirklich lohnt. Dies hängt von der Grösse des Projektes ab. Müssen mehrere tausend Serveranfragen pro Sekunde gehandhabt werden und ist das entsprechende Budget vorhanden, ist an die Verwendung von Push-Technologien zu denken. Falls es sich jedoch um ein Projekt im kleineren Rahmen handelt, bei dem es keine Rolle spielt ob überflüssiger Netzwerkverkehr generiert wird oder nicht, würde man eine Pull Technologie vorziehen.

\newpage

\section{Zukunft}
Welche neuen Technologien die Zukunft bringen wird ist unklar. Der Trend zeigt jedoch, dass die Push-Technologien sich immer grösserer Nachfrage durch die Nutzer erfreuen. Ein wesentliches Problem ist, dass die aktuellen Browser meist nur teilweise alle neusten Technologien unterstützen. \\Dabei spielt auch die Internetsicherheit eine wichtige Rolle. Bevor eine neue Technologie auf den Markt gebracht werden kann, muss diese zuerst auf Sicherheit getestet werden. HTML 5 ist seit Jahren im Trend und verspricht mit "`Websockets'' und "`Server Side Events'' neue, noch relativ unentdeckte, aber durchaus interessante und brauchbare Technologien.